Communication systems are known to include a plurality of communication devices and supporting infrastructure. Each of the communication devices has an individual access code which allows the supporting infrastructure to accurately process requested services by a communication device. Such is the case for a wireless communication system that may support cellular telephony (i.e., typical telephone services such as call-waiting, call-forwarding, three-way calling, etc.), land mobile communications (i.e., one to many communications) and dispatch communications (i.e., a dispatcher communicating with an individual and/or group of communication devices).
In a typical wireless communication system, a communication device may be a cellular telephone, a mobile radio, a portable radio, a personal digital assistant (PDA), a modem, or any combination thereof. The supporting infrastructure includes a plurality of base stations, groups of which are coupled to a base station controller. Groups of base station controllers are coupled to service processors, which in turn, are coupled to a public switched telephone network (PSTN). The service processors may be a mobile switching center, a dispatch service processor, or a mobile data gateway. With the base station controllers coupled to a mobile switching center, a dispatch service processor and/or a mobile data gateway, the affiliated communication devices of the base station controller may participate in group communications, private communications, telephony services, dispatch services, and/or data transfers.
A wireless communication system also includes at least one home location register and a plurality of visitor location registers. Typically, one visitor location register (VLR) is coupled to each service processor in the communication system. The VLR typically contains communication device profiles (i.e., a communication unit identification code, a group identification code, and a set of communication parameters) for each communication device affiliated with the service processor. The home location register (HLR) contains similar information, but for every communication device registered with the communication system. For example, a communication system may be providing wireless communication services for the Chicago metropolitan area. The communication system includes a plurality of communication system areas for particular regions within the communication system. For example, a communication system area may be for downtown Chicago area, north Chicago area, south Chicago area, west Chicago area, and one for each of the surrounding suburbs.
In this example, one HLR would support the communication system, assuming only one service provider is present, and each service processor in each communication system area would have its own VLR. Each communication device which is registered in the communication system will have its profile stored in the HLR and, depending on which communication system area the communication device is currently located, the appropriate VLRs of the communication system area will also contain the communication device's profile. When the communication device relocates to a different communication system area, the VLR of the service processors in the new communication system area communicate with the HLR to retrieve the communication device's profile.
Predictably, the HLR for such a system contains a massive amount of information. Currently, the HLR can process the request from the plurality of the VLRs in a reasonable time. But, as the communication system offers more and more services, new service processors are added to each communication system area to support such services. When a new service processor is added to a communication system area, the HLR needs to be rewritten to include the relevant information for the new service processor.
As more and more services are offered by a communication system, more and more requests from the VLRs will be generated, creating a data processing bottleneck at the HLR. Such a bottleneck will limit the scalability of the communication system and slow the throughput of data. Therefore, a need exists for a method and apparatus that allows the communication system to offer more and more services without creating a data processing bottleneck and without limiting the scalability of the communication system.